package cc.sunni.service.impl;

import cc.sunni.entity.Student;
import cc.sunni.service.AbsCheckStudent;

import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

/**
 * 首先实现的是学生姓名的校验的子类
 * 不能为空，不能超过20个字符。
 */
public class StNameCheck extends AbsCheckStudent {

    @Override
    public List<Student> checkStudent(List<Student> studentList) {
        //获取学生名称不符合条件的学生对象
        List<Student> stNameIsNotOk = studentList.stream().filter(stu -> {
            String stName = stu.getStName();
            return Objects.isNull(stName) || "".equals(stName);
        }).collect(Collectors.toList());
        System.out.println("名字校验不通过的数据有：" + stNameIsNotOk.toString());
        //在原有的集合中移除不符合学生姓名的对象集合
        studentList.removeAll(stNameIsNotOk);
        System.out.println("名字校验通过的数据：" + studentList.toString());
        //返回通过学生姓名校验的学生的集合
        return studentList;
    }
}